Kỹ
thuật chiết tách dữ liệu và lập bản
đồ
Kỹ thuật chiết tách dữ
liệu (data extraction)
đă được phát triển từ khá lâu, song hành
với sự phát triển của mạng Internet
và công nghệ tin học. Tuy nhiên, dường như kỹ
thuật này mới chỉ được các công ty lớn
và các tập đoàn thương mại, ngân hàng ứng
dụng, khai thác một cách hiệu quả.
Chiết tách dữ liệu thực
chất là ǵ?
Lấy ví dụ chúng ta đang quan tâm đến danh sách các
công ty, tổ chức hoạt động trong lĩnh
vực bảo hiểm tại Việt Nam. Trang web những trang vàng Yellowpages
cung cấp cho người dùng một công cụ t́m kiếm
và hiển thị thông tin khá đầy đủ, hữu
ích. Trên trang web này, chúng ta có thể t́m
kiếm từ khóa đơn giản "danh sách các công ty
bảo hiểm ở việt nam". Kết quả
trả về tại thời điểm viết bài này là
490 công ty, theo địa chỉ sau:
https://www.yellowpages.vnn.vn/tgcls/20131560/danh-sách-các-công-ty-bảo-hiểm-ở-việt-nam.html
Người dùng có thể copy-paste để sao chép
dữ liệu này và thành lập một cơ sở dữ
liệu riêng cho ḿnh. Tuy nhiên phương pháp này mang nặng
tính thủ công và mất rất nhiều thời gian. Bên
cạnh đó, khi nguồn dữ liệu có sự thay
đổi, người dùng hầu như phải cập
nhật lại từ đầu.
Kỹ thuật chiết tách dữ
liệu cho phép thực hiện 2 việc quan trọng:
- Tự động lấy dữ
liệu từ một địa chỉ web
hợp lệ thông qua;
- Tự động lập bảng
dữ liệu và đưa dữ liệu vào đúng các
trường dữ liệu do người dùng định
nghĩa.
Để làm được việc này,
người dùng cần 2 điều kiện thỏa măn:
- Trang web (địa
chỉ Internet) để lấy số
liệu phải được thiết kế có cấu
trúc. Nói cách khác, dữ liệu trên đó thường
được kết xuất từ cơ sở dữ
liệu gốc nên có tính lặp đi lặp lại
rất cao, dễ nhận biết cấu trúc.
- Người dùng cần có một công
cụ để chiết xuất dữ liệu, tự
động xây dựng bảng dữ liệu.
Trong ví dụ ở trên, trang web Yellowpages hiển
thị dữ liệu theo dạng có cấu trúc v́ các thông
tin được kết xuất từ cơ sở
dữ liệu gốc. V́ thế, khi người dùng
duyệt qua các công ty bảo hiểm trong kết quả t́m
kiếm, có thể thấy các trường thông tin
được lặp đi lặp lại giống nhau
đối với từng công ty trong danh sách kết quả
t́m kiếm.
Các công cụ chiết xuất dữ
liệu từ địa chỉ Internet
có thể kể đến như Data Extractor, Import.io và rất nhiều mà
người dùng có thể t́m thấy trên Google.
Điển h́nh là Import.io (http://import.io) với
khả năng chiết xuất tuyệt vời có thể
nhanh chóng "độ" toàn bộ nội dung t́m
kiếm ở trên để đưa vào bảng số
liệu "sạch, đẹp" cho người dùng.
Giao diện của trang web Import.io |
Khi sử dụng Import.io, tất nhiên
người dùng sẽ phải "dạy" cho
chương tŕnh biết các trường dữ liệu nào
cần lấy và cách tự động "lật
trang" khi trang web có dữ liệu có
nút "Next page".
Điều này đ̣i hỏi người dùng phải
"thao tác" một chút nhưng không đáng kể ǵ v́
tác vụ cũng khá đơn giản.
Nh́n vào bảng kết quả dưới đây, chắc
hẳn bạn sẽ khá hài ḷng.
Ấn tượng hơn nữa, kỹ
thuật Geocode sẽ cho
phép người dùng "biến" các ḍng địa
chỉ (trong cột Address) thành
tọa độ địa lư (Latitude,
Longitude) để "bắn"
chúng lên bản đồ. Có nhiều dịch vụ Geocode trên thế giới,
điển h́nh là bộ công cụ của các phần
mềm như MapInfo Professional, ESRI ArcGIS, QGIS,..., hay các công cụ trực
tuyến của Google API, Openstreetmaps.
Trong bài này, nhóm kỹ thuật của P-GIS sử dụng
công cụ geocode của Google
thông qua Google API để thành lập
bản đồ các công ty bảo hiểm ở Việt
Nam. Kết quả ngay ở dưới đây.
Cần nói thêm chút về Geocode.
Bản chất của Geocode là
ước tính tọa độ của một địa
điểm nào đó thông qua địa chỉ
đường phố. Do vậy, trong nhiều
trường hợp, tọa độ của điểm
cần định vị chỉ mang tính tương
đối, chưa hẳn chính xác như trên thực
tế. Dẫu sao, trong việc định vị và lập
bản đồ nếu không đ̣i hỏi độ chính
xác tuyệt đối th́ kỹ thuật Geocode
là sự lựa chọn hàng đầu.
Trong bối cảnh cần lập bản đồ các công
ty bảo hiểm trên toàn quốc, việc ghép nối và
vận hành tự động các công cụ với
địa chỉ cung cấp dữ liệu thành một
sản phẩm là bản đồ sẽ giúp người
dùng nhanh chóng có được những ǵ ḿnh mong
đợi ở một độ chính xác tương đối.